﻿using ByBikeShop.Site;
using SupportLayer.Constantes.OUTROS;
using Util.ExtensionMethods;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SupportLayer.Enums;
using PersistenceLayer.DAL;
using SupportLayer.Constantes;

namespace ByBikeShop.Cliente.Pages
{
	public partial class Login : BasePage
	{
		Administracao.UCs.Mensagem.mensagens ucMensagem;
		protected void Page_Load(object sender, EventArgs e)
		{
			base.PageLoad();
		}

		protected void btnLogar_Click(object sender, EventArgs e)
		{
			try
			{
				if (txtEmail.Text.Equals(string.Empty))
					throw new ApplicationException("O campo E-mail é obrigatório!");
				if (txtSenha.Text.Equals(string.Empty))
					throw new ApplicationException("O campo Senha é obrigatório!");
				if (!txtEmail.Text.isValidEmail())
					throw new ApplicationException("Digite um E-mail válido!");

				base.Cli = new ClienteDAL().ObterPorEmailSenha(txtEmail.Text, Util.Criptografia.Encriptar(SupportLayer.Constantes.CRIPTO.CHAVE, SupportLayer.Constantes.CRIPTO.VETOR, txtSenha.Text));
				//base.Cliente = BusinessCliente.SelectCliente(txtEmail.Text, Util.Criptografia.Encriptar(CRIPTO.CHAVE, CRIPTO.VETOR, txtSenha.Text));

				if (Cli == null)
					throw new ApplicationException("Combinação de usuário e senha não encontrada!");

				base.CreateCookie(SupportLayer.Constantes.CLIENTE.CLIENTE.ID,
													Util.Criptografia.Encriptar(SupportLayer.Constantes.CRIPTO.CHAVE, SupportLayer.Constantes.CRIPTO.VETOR, Cli.ID.ToString()), 5);

				Response.Redirect("/Cliente/Pages/Home.aspx");
			}
			catch (Exception ex)
			{
				ucMensagem = (Administracao.UCs.Mensagem.mensagens)LoadControl(ResolveUrl("/Administracao/UCs/Mensagem/mensagens.ascx"));
				ucMensagem.TipoMensagem = TiposMensagens.Erro;
				ucMensagem.Mensagem = ex.Message;
				placeMensagem.Controls.Add(ucMensagem);
			}
		}

		public override void CarregaDados()
		{
		}

		protected void btnCadastrar_Click(object sender, EventArgs e)
		{
			Response.Redirect("/Cliente/Pages/Cadastro.aspx");
		}
	}
}